<?xml version="1.0" encoding="UTF-8"?>

<!--
    Document   : slides-to-beamer.xsl
    Created on : December 6, 2010, 5:36 PM
    Author     : tomp
    Description:
        Purpose of transformation follows.
-->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="text" encoding="UTF-8" indent="no"/>
    <xsl:strip-space elements="slides foilgroup foil itemizedlist orderedlist listitem para" />

    <xsl:param name="style" select="'Warsaw'"/>

    <xsl:template match="/slides">

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{url}
\usepackage{graphicx}
\usepackage[english]{babel}

\title{<xsl:value-of select="slidesinfo/title"/>}

\author {<xsl:value-of select="slidesinfo/author/firstname"/>~<xsl:value-of select="slidesinfo/author/surname"/>}
<xsl:if test="slidesinfo/pubdate">
\date{<xsl:value-of select="slidesinfo/pubdate"/>}
</xsl:if>

\begin{document}
\maketitle
    <xsl:apply-templates select="foilgroup|foil"/>
\end{document}</xsl:template>

    <xsl:template match="foilgroup">
<xsl:text>
    
\section {</xsl:text><xsl:value-of select="title"/><xsl:text>}</xsl:text>
        <xsl:apply-templates select="foil"/>
    </xsl:template>

    <xsl:template match="foil">
<xsl:text>

\subsection{</xsl:text><xsl:value-of select="title"/><xsl:text>}
</xsl:text>
        <xsl:apply-templates/>
    </xsl:template>

    <xsl:template match="itemizedlist">
<xsl:text>
    \begin{itemize}</xsl:text>
        <xsl:apply-templates/>
<xsl:text>
    \end{itemize}</xsl:text>
    </xsl:template>

    <xsl:template match="orderedlist">
<xsl:text>
    \begin{enumerate}</xsl:text>
        <xsl:apply-templates/>
<xsl:text>
    \end{enumerate}</xsl:text>
    </xsl:template>

    <xsl:template match="listitem">
<xsl:text>
       \item </xsl:text><xsl:apply-templates/>
    </xsl:template>

    <xsl:template match="variablelist">
<xsl:text>
    \begin{description}</xsl:text>
        <xsl:apply-templates/>
<xsl:text>
    \end{description}</xsl:text>
    </xsl:template>

    <xsl:template match="varlistentry">
       <xsl:text>
       \item[</xsl:text>
       <xsl:value-of select="term"/>
       <xsl:text>] </xsl:text>
       <xsl:apply-templates select="listitem/node()"/>
    </xsl:template>

    <xsl:template match="para">
        <xsl:apply-templates/>
    </xsl:template>

    <xsl:template match="programlisting">
<xsl:text>
\begin{verbatim}
</xsl:text>
        <xsl:apply-templates/>
<xsl:text>
\end{verbatim}
</xsl:text>

    </xsl:template>

    <xsl:template match="mediaobject/imageobject/imagedata">
    \begin {figure}
      \centering
      \includegraphics[width=10cm]{<xsl:value-of select="@fileref"/>}
    \end {figure}
    </xsl:template>


    <xsl:template match="emphasis[@role='bold']">
        <xsl:text>\textbf{</xsl:text>
            <xsl:apply-templates/>
        <xsl:text>}</xsl:text>
    </xsl:template>

    <xsl:template match="emphasis[not(@role='bold')]">
        <xsl:text>\emph{</xsl:text>
            <xsl:apply-templates/>
        <xsl:text>}</xsl:text>
    </xsl:template>

    <xsl:template match="ulink[@url=.]">
        <xsl:text> \url{</xsl:text>
            <xsl:value-of select="."/>
        <xsl:text>}</xsl:text>
    </xsl:template>

    <xsl:template match="ulink[not(@url=.)]">
        <xsl:value-of select="."/><xsl:text> (\url{</xsl:text>
            <xsl:value-of select="@url"/>
        <xsl:text>})</xsl:text>
    </xsl:template>

    <xsl:template match="filename|literal">
        <xsl:text>\texttt{</xsl:text><xsl:apply-templates/><xsl:text>}</xsl:text>
    </xsl:template>

    <xsl:template match="title">
    </xsl:template>
</xsl:stylesheet>
